import { ConfigOperation } from "./ConfigManager"
export module ConfigInterface {

	export interface IAppConfig {
		readonly bagItemConfigs?: ConfigOperation<IBagItemConfig>
		readonly battleItemConfigs?: ConfigOperation<IBattleItemConfig>
		readonly buffLevelConfigs?: ConfigOperation<IBuffLevelConfig>
		readonly buffTypeConfigs?: ConfigOperation<IBuffTypeConfig>
		readonly campConfigs?: ConfigOperation<ICampConfig>
		readonly campLevelUpgradeConfigs?: ConfigOperation<ICampLevelUpgradeConfig>
		readonly cardConfigs?: ConfigOperation<ICardConfig>
		readonly cardGroupConfigs?: ConfigOperation<ICardGroupConfig>
		readonly cardTypeConfigs?: ConfigOperation<ICardTypeConfig>
		readonly cardUpgradeConfigs?: ConfigOperation<ICardUpgradeConfig>
		readonly chapterConfigs?: ConfigOperation<IChapterConfig>
		readonly chapterEventConfigs?: ConfigOperation<IChapterEventConfig>
		readonly chapterEventGameConfigs?: ConfigOperation<IChapterEventGameConfig>
		readonly chapterLevelConfigs?: ConfigOperation<IChapterLevelConfig>
		readonly chapterMapConfigs?: ConfigOperation<IChapterMapConfig>
		readonly chapterRewardConfigs?: ConfigOperation<IChapterRewardConfig>
		readonly chapterTaskConfigs?: ConfigOperation<IChapterTaskConfig>
		readonly dailyShopConfigs?: ConfigOperation<IDailyShopConfig>
		readonly enemyConfigs?: ConfigOperation<IEnemyConfig>
		readonly enemyMapConfigs?: ConfigOperation<IEnemyMapConfig>
		readonly goldShopConfigs?: ConfigOperation<IGoldShopConfig>
		readonly heroConfigs?: ConfigOperation<IHeroConfig>
		readonly heroAttributeConfigs?: ConfigOperation<IHeroAttributeConfig>
		readonly itemConfigs?: ConfigOperation<IItemConfig>
		readonly materialShopConfigs?: ConfigOperation<IMaterialShopConfig>
		readonly mysticalShopConfigs?: ConfigOperation<IMysticalShopConfig>
		readonly playerLevelUpgradeConfigs?: ConfigOperation<IPlayerLevelUpgradeConfig>
		readonly rewardConfigs?: ConfigOperation<IRewardConfig>
		readonly signConfigs?: ConfigOperation<ISignConfig>
		readonly skillConfigs?: ConfigOperation<ISkillConfig>
		readonly systemOpenConfigs?: ConfigOperation<ISystemOpenConfig>
		readonly systemPreviewConfigs?: ConfigOperation<ISystemPreviewConfig>
		readonly talentUpgradeConfigs?: ConfigOperation<ITalentUpgradeConfig>
		readonly tempBuffConfigs?: ConfigOperation<ITempBuffConfig>
		readonly valueConfigs?: ConfigOperation<IValueConfig>
		readonly zhaomuConfigs?: ConfigOperation<IZhaomuConfig>
	}

	// From GameConfig.xlsx => bagItem
	export interface IBagItemConfig {
		/** 唯一标识 **/
		readonly id?: number
		/** 物品名称 **/
		readonly name?: string
		/** 物品图片 **/
		readonly icon?: string
		/** 类型 1.普通 2.奇珍异宝 3.奖励格子 **/
		readonly type?: number
		/** 形状每个对象都是二维数组 **/
		readonly shape?: string
		/** 详情页的格子展示 **/
		readonly shape2?: string
		/** 权重 **/
		readonly weight?: number
		/** 章节1的价值 **/
		readonly value_1?: string
		/** 章节2的价值 **/
		readonly value_2?: string
		/** 章节3的价值 **/
		readonly value_3?: string
		/** 章节4的价值 **/
		readonly value_4?: string
		/** 章节5的价值 **/
		readonly value_5?: string
		/** 章节6的价值 **/
		readonly value_6?: string
		/** 章节7的价值 **/
		readonly value_7?: string
		/** 章节8的价值 **/
		readonly value_8?: string
		/** 章节9的价值 **/
		readonly value_9?: string
		/** 章节10的价值 **/
		readonly value_10?: string
		/** 章节11的价值 **/
		readonly value_11?: string
		/** 章节12的价值 **/
		readonly value_12?: string
		/** 章节13的价值 **/
		readonly value_13?: string
		/** 章节14的价值 **/
		readonly value_14?: string
		/** 章节15的价值 **/
		readonly value_15?: string
		/** 章节16的价值 **/
		readonly value_16?: string
		/** 章节17的价值 **/
		readonly value_17?: string
		/** 章节18的价值 **/
		readonly value_18?: string
		/** 章节19的价值 **/
		readonly value_19?: string
		/** 章节20的价值 **/
		readonly value_20?: string
		/** 章节21的价值 **/
		readonly value_21?: string
		/** 章节22的价值 **/
		readonly value_22?: string
		/** 章节23的价值 **/
		readonly value_23?: string
		/** 章节24的价值 **/
		readonly value_24?: string
		/** 章节25的价值 **/
		readonly value_25?: string
		/** 章节26的价值 **/
		readonly value_26?: string
		/** 章节27的价值 **/
		readonly value_27?: string
		/** 章节28的价值 **/
		readonly value_28?: string
		/** 章节29的价值 **/
		readonly value_29?: string
		/** 章节30的价值 **/
		readonly value_30?: string
	}

	// From GameConfig.xlsx => battleItem
	export interface IBattleItemConfig {
		/** 唯一标识 **/
		readonly id?: number
		/** 道具名称 **/
		readonly name?: string
		/** 品阶 **/
		readonly quality?: string
		/** 展示icon **/
		readonly icon?: string
		/** 描述 **/
		readonly desc?: string
		/** 商店出现的权重 **/
		readonly shopWeight?: number
		/** 商店血币消耗 **/
		readonly shopCost?: number
		/** 商店血币卖出 **/
		readonly shopSold?: number
		/** 道具使用音效 **/
		readonly sound?: string
		/** 1.自身 2.敌人 3.所有敌人 **/
		readonly target?: number
		/** 道具类型 1.buff类型 2.十字移动格子 3.全屏移动 4.全屏选择格子 **/
		readonly itemType?: number
		/** 触发的buffId **/
		readonly buff_1?: number
		/** 触发的概率， 不填必触发， 万分比 **/
		readonly triggerRate_1?: number
		/** 触发的buffId **/
		readonly buff_2?: number
		/** 触发的概率， 不填必触发， 万分比 **/
		readonly triggerRate_2?: number
	}

	// From GameConfig.xlsx => buffLevel
	export interface IBuffLevelConfig {
		/** 唯一标识 **/
		readonly id?: number
		/** buff名称 **/
		readonly name?: string
		/** 所属buff类型 **/
		readonly buffType?: number
		/** buff持续回合 **/
		readonly buffRound?: number
		/** 当强化卡牌升级时 能否移除该buff 无论是敌人还是自身 0不能1能 **/
		readonly remove?: number
		/** buff对哪些属性产生效果 **/
		readonly buffEffect?: string
		/** buff效果代码 **/
		readonly buffCode?: string
		/** 需要监听的值 **/
		readonly keyListener?: string
		/** 每隔x轮释放 **/
		readonly intervalRound?: number
		/** 固定值的变化 **/
		readonly fixedValue?: number
		/** 英雄等级对该值的加成变化 比如英雄5级，还有5*10的变化 **/
		readonly fixedLevelValue?: number
		/** 万分比的加成变化 **/
		readonly perValue?: number
		/** 英雄等级对应该值的加成变化 **/
		readonly perLevelValue?: number
		/** 最大叠加次数 **/
		readonly addMaxCount?: number
		/** 章节生效次数 **/
		readonly effectCount?: number
	}

	// From GameConfig.xlsx => buffType
	export interface IBuffTypeConfig {
		/** 唯一标识 **/
		readonly id?: number
		/** buff名称 **/
		readonly name?: string
		/** 相同buff是否替换，1替换，0叠加，2只添加一次 **/
		readonly isReplace?: number
		/** 检测时机 1每回合开始检测 2立即生效 3属性值变化 4敌人回合检测 **/
		readonly checkTiming?: number
		/** 是否循环播放 **/
		readonly isLoop?: number
		/** spine效果名称 **/
		readonly spine?: string
		/** icon效果名称 **/
		readonly icon?: string
	}

	// From GameConfig.xlsx => camp
	export interface ICampConfig {
		/** 编号 **/
		readonly id?: number
		/** 营地名字 **/
		readonly camp_name?: string
		/** 营地效果 **/
		readonly camp_effect?: string
		/** 营地解锁章节 **/
		readonly camp_lock?: number
		/** 营地介绍 **/
		readonly camp_des?: string
		/** 建筑可以领取的奖励次数上限 **/
		readonly campreward_limitcount?: number
	}

	// From GameConfig.xlsx => campLevelUpgrade
	export interface ICampLevelUpgradeConfig {
		/** 编号 **/
		readonly id?: number
		/** 营地名字 **/
		readonly camp_name?: string
		/** 营地类别 **/
		readonly camp_type?: number
		/** 营地等级 **/
		readonly camp_level?: number
		/** 每次时间间隔获得的奖励 **/
		readonly resource_get?: string
		/** 升级所需时间/秒 **/
		readonly upgrade_time?: number
		/** 升级所需材料 **/
		readonly upgrade_materials?: string
	}

	// From GameConfig.xlsx => card
	export interface ICardConfig {
		/** 唯一标识 **/
		readonly id?: number
		/** 卡牌名称 **/
		readonly name?: string
		/** 卡牌类型 **/
		readonly type?: number
		/** 战斗内等级 **/
		readonly level?: number
		/** 战斗外等级 **/
		readonly upgradeLevel?: number
		/** 描述 **/
		readonly desc?: string
		/** 获得该卡片后如何触发buff 1.立即触发 2.造成伤害后触发 3.攻击前触发 4.obj死亡触发 5.暴击后触发 6.闪电链触发 7.反伤后触发 8.召唤后触发 9.移动后触发 10.buff伤害后触发 **/
		readonly trigger_1?: number
		/** 触发的buffId **/
		readonly buff_1?: number
		/** 触发的概率， 不填必触发， 万分比 **/
		readonly triggerRate_1?: number
		/** 触发添加给谁 1.自身 2.目标 **/
		readonly target_1?: number
		/** 与trigger_1一致 **/
		readonly trigger_2?: number
		/** 触发的buffId **/
		readonly buff_2?: number
		/** 触发的概率， 不填必触发， 万分比 **/
		readonly triggerRate_2?: number
		/** 触发添加给谁 1.自身 2.敌人 **/
		readonly target_2?: number
	}

	// From GameConfig.xlsx => cardGroup
	export interface ICardGroupConfig {
		/** 唯一标识 **/
		readonly id?: number
		/** 卡牌名称 **/
		readonly name?: string
		/** 图片资源 **/
		readonly png?: string
		/** 卡组类型 **/
		readonly cardList?: string
		/** 解锁条件章节id **/
		readonly unlock?: number
		/** 奖励 **/
		readonly reward?: string
	}

	// From GameConfig.xlsx => cardType
	export interface ICardTypeConfig {
		/** 唯一标识 **/
		readonly id?: number
		/** 卡牌名称 **/
		readonly name?: string
		/** 展示icon **/
		readonly icon?: string
		/** 品阶 **/
		readonly quality?: string
		/** 流派 **/
		readonly liupai?: number
		/** 初始解锁 **/
		readonly unlock?: number
		/** 前置卡牌，这个卡牌拥有了才能出现 **/
		readonly frontCard?: string
		/** 所需碎片id **/
		readonly pieceId?: number
		/** 商店消耗血币 **/
		readonly shopCost?: number
		/** 出现的权重 **/
		readonly weight?: number
		/** 1级描述 **/
		readonly desc_1?: string
		/** 升级到1级需要的碎片数量 **/
		readonly pieceCount_1?: number
		/** 升级到1级所需要的金币数量 **/
		readonly goldCount_1?: number
		/** 2级描述 **/
		readonly desc_2?: string
		/** 升级到2级需要的碎片数量 **/
		readonly pieceCount_2?: number
		/** 升级到2级所需要的金币数量 **/
		readonly goldCount_2?: number
		/** 3级描述 **/
		readonly desc_3?: string
		/** 升级到3级需要的碎片数量 **/
		readonly pieceCount_3?: number
		/** 升级到3级所需要的金币数量 **/
		readonly goldCount_3?: number
	}

	// From GameConfig.xlsx => cardUpgrade
	export interface ICardUpgradeConfig {
		/** 唯一标识也是等级 **/
		readonly id?: number
		/** 所需经验 **/
		readonly cost?: number
	}

	// From GameConfig.xlsx => chapter
	export interface IChapterConfig {
		/** 唯一标识 **/
		readonly id?: number
		/** 章节名称 **/
		readonly name?: string
		/** 图片资源名称 **/
		readonly png?: string
		/** 消耗体力 **/
		readonly cost?: number
		/** 盒子区域奖励1 **/
		readonly box_reward_1?: string
		/** 盒子区域奖励2 **/
		readonly box_reward_2?: string
		/** 盒子区域奖励3 **/
		readonly box_reward_3?: string
		/** 地图是否制作完成 **/
		readonly isMapFinish?: number
	}

	// From GameConfig.xlsx => chapterEvent
	export interface IChapterEventConfig {
		/** 唯一标识 **/
		readonly id?: number
		/** 事件标题 **/
		readonly title?: string
		/** 事件描述 **/
		readonly desc?: string
		/** banner图资源 **/
		readonly banner?: string
		/** 选项1 **/
		readonly option_1?: string
		/** 效果1的概率万分比 **/
		readonly rate_1?: number
		/** 回复对话1 **/
		readonly dialog_1_1?: string
		/** 回复对话2 **/
		readonly dialog_1_2?: string
		/** 效果1 **/
		readonly effect_1_1?: string
		/** 效果2 **/
		readonly effect_1_2?: string
		/** 选项2 **/
		readonly option_2?: string
		/** 选项2的概率万分比 **/
		readonly rate_2?: number
		/** 回复对话1 **/
		readonly dialog_2_1?: string
		/** 回复对话2 **/
		readonly dialog_2_2?: string
		/** 效果1 **/
		readonly effect_2_1?: string
		/** 效果2 **/
		readonly effect_2_2?: string
		/** 选项3 **/
		readonly option_3?: string
		/** 回复对话2 **/
		readonly dialog_3?: string
	}

	// From GameConfig.xlsx => chapterEventGame
	export interface IChapterEventGameConfig {
		/** 序号 **/
		readonly id?: number
		/** 奖励描述 **/
		readonly desc?: string
		/** 所占轮盘比例 **/
		readonly weight?: string
		/** 生效方式 **/
		readonly way?: string
		/** 效果，跟chapterEvent的effect一致 整个章节生效 **/
		readonly effect?: string
	}

	// From GameConfig.xlsx => chapterLevel
	export interface IChapterLevelConfig {
		/** 唯一标识 **/
		readonly id?: number
		/** 所属章节 **/
		readonly chapter?: number
		/** 章节名称 **/
		readonly name?: string
		/** 区域类型 1普通战斗 2精英战斗 3营地 4未知区域 5boss 6剧情奖励 7剧情战斗 **/
		readonly type?: number
		/** 据点的资源名称 **/
		readonly png?: string
		/** 敌人阵型图 **/
		readonly enemyMapId?: number
		/** 随机(1->count)敌人移动 **/
		readonly randomCount?: number
		/** levelType=3、回复血量万分比 levelType=4、随机一个关卡 levelType=6、随机一个事件带2个选项 **/
		readonly effect?: string
	}

	// From GameConfig.xlsx => chapterMap
	export interface IChapterMapConfig {
		/** 唯一标识 **/
		readonly id?: number
		/** 章节id **/
		readonly chapterId?: number
		/** 实际层，代码逻辑算 **/
		readonly layer?: number
		/** 第几层 **/
		readonly ceng?: number
		/** 第几行 **/
		readonly row?: number
		/** 第几层的第几个 **/
		readonly base_1?: string
		/** 随机关卡id **/
		readonly base_2?: string
		/** 随机关卡id **/
		readonly base_3?: string
		/** 随机关卡id **/
		readonly base_4?: string
	}

	// From GameConfig.xlsx => chapterReward
	export interface IChapterRewardConfig {
		/** 唯一标识 **/
		readonly id?: number
		/** 所属章节 **/
		readonly chapter?: number
		/** 累计通关数量 **/
		readonly count?: number
		/** 通关该关卡获得的奖励 **/
		readonly reward?: number
	}

	// From GameConfig.xlsx => chapterTask
	export interface IChapterTaskConfig {
		/** 唯一标识 **/
		readonly id?: number
		/** 任务描述 **/
		readonly taskDes?: string
		/** 任务类型 **/
		readonly taskType?: number
		/** 任务奖励 **/
		readonly taskReward?: string
		/** 任务参数 **/
		readonly taskParams?: string
	}

	// From GameConfig.xlsx => dailyShop
	export interface IDailyShopConfig {
		/** 唯一标识 **/
		readonly id?: number
		/** 道具名称 **/
		readonly itemName?: string
		/** 道具id **/
		readonly itemId?: number
		/** 道具数量 **/
		readonly itemCount?: number
		/** 固定道具获取 **/
		readonly rigidPos?: number
		/** item表中的type **/
		readonly itemType?: number
		/** 碎片对应的英雄 **/
		readonly itemHeroId?: number
		/** 购买方式[金币，金币数量] [钻石，钻石数量]) **/
		readonly buyWay?: string
		/** 折扣权重(discount_折扣_权重) **/
		readonly discount?: string
		/** 道具出现概率权重 **/
		readonly weight?: number
	}

	// From GameConfig.xlsx => enemy
	export interface IEnemyConfig {
		/** 唯一标识 **/
		readonly id?: number
		/** 敌人的英雄类型 确定英雄形象 **/
		readonly heroId?: number
		/** 敌人等级 用来确认buff等级 **/
		readonly level?: number
		/** 敌人名称 **/
		readonly name?: string
		/** 敌人类型 1普通2精英3boss100宝箱 4百宝箱(击杀出现敌人) 101岩浆格子 106毒气在map表里 配置一个id即可 **/
		readonly type?: number
		/** 击杀后获得经验值 **/
		readonly exp?: number
		/** 击杀后获得道具 **/
		readonly rewardItem?: number
		/** 爆血币 **/
		readonly bloodCoin?: number
		/** 缩放系数 万分比，不填就是默认大小 填20000就是放大2倍 **/
		readonly scale?: number
		/** 持续多少回合（特殊格子） **/
		readonly round?: number
		/** 攻击造成伤害后，能够扣除对方攻击力值的生命值 **/
		readonly atkValue?: number
		/** 被攻击前，攻击力将先减除护甲值，然后再掉被护甲减后的攻击力的生命值，人物身上增加护甲值状态标记 **/
		readonly defValue?: number
		/** 人物的总生命值，生命值归零，人物死亡 **/
		readonly hpMaxValue?: number
		/** 人物攻击时，可以打到的最远的距离 怪物无效，怪物走格子 **/
		readonly atkDistanceValue?: number
		/** 根据攻击距离的不同，造成的伤害也不同，最远处的敌人伤害衰减越严重，衰减系数按距离算，系数不填就是不衰减 **/
		readonly atkDistanceReduceValue?: number
		/** 根据攻击距离的不同，造成的伤害也不同，最远处的敌人伤害衰减越严重，衰减系数按距离算，系数不填就是不衰减 **/
		readonly atkDistanceReduceRate?: number
		/** 已攻击者自身为圆心，攻击距离为半径，半径向两边延申的角度之和 怪物无效，怪物走格子 **/
		readonly atkAngleValue?: number
		/** 人物暴击时造成攻击力 X 暴击伤害系数的伤害 **/
		readonly critHurtRate?: number
		/** 人物攻击时，暴击的概率（人物攻击时，优先计算是否暴击，然后再计算护甲） **/
		readonly critHitRate?: number
		/** 人物同一回合造成攻击后，额外产生的攻击次数 **/
		readonly atkMoreValue?: number
		/** 人物产生固定数值的固定，用来抵消下次受到的伤害 **/
		readonly shieldValue?: number
		/** 人物攻击后，对被攻击者造成击退效果（击退方向为人物产生攻击的方向，距离可配置，当被击退者背后为棋盘边缘时，将无法造成击退效果） **/
		readonly atkBackValue?: number
		/** 人物攻击范围目标后方有敌人时，人物攻击时产生的弹道会被遮挡，当拥有穿透效果时，产生的弹道将不会被遮挡，对后方敌人也造成一定攻击百分比的伤害 **/
		readonly atkThroughRate?: number
		/** 人物被攻击时，触发闪避的概率 **/
		readonly avoidRate?: number
		/** 命中率默认10000 **/
		readonly hitRate?: number
		/** 人物被攻击受到伤害后，立即对攻击者造成一次固定伤害值的伤害（也需要计算攻击者闪避，不计算暴击，计算吸血），人物身上增加反伤值状态标记 **/
		readonly hurtBackValue?: number
		/** 当人物攻击造成伤害后，人物会恢复被攻击者该次攻击损失生命值一定百分比的血量 **/
		readonly atkBloodRate?: number
	}

	// From GameConfig.xlsx => enemyMap
	export interface IEnemyMapConfig {
		/** 唯一标识 **/
		readonly id?: number
		/** 地图Id **/
		readonly mapId?: number
		/** 行 **/
		readonly row?: number
		/** 第1列 **/
		readonly column_1?: number
		/** 第2列 **/
		readonly column_2?: number
		/** 第3列 **/
		readonly column_3?: number
		/** 第4列 **/
		readonly column_4?: number
		/** 第5列 **/
		readonly column_5?: number
		/** 第6列 **/
		readonly column_6?: number
		/** 第7列 **/
		readonly column_7?: number
		/** 第8列 **/
		readonly column_8?: number
	}

	// From GameConfig.xlsx => goldShop
	export interface IGoldShopConfig {
		/** 唯一标识 **/
		readonly id?: number
		/** 道具名称 **/
		readonly itemName?: string
		/** 道具id **/
		readonly itemId?: number
		/** 道具数量 **/
		readonly itemCount?: number
		/** 是否可以免费领取 **/
		readonly freeGet?: number
		/** 购买方式 **/
		readonly buyWay?: string
	}

	// From GameConfig.xlsx => hero
	export interface IHeroConfig {
		/** 唯一标识 **/
		readonly id?: number
		/** 名称 **/
		readonly name?: string
		/** 阵营1英雄2敌人3召唤物 **/
		readonly group?: number
		/** 职业0其他1射手2战士3刺客4法师 **/
		readonly heroType?: number
		/** 1周围2横竖直线 3交叉直线4十字5不能走6两层周围7两层周围间隔二8小火龙9石头人10 史莱姆11树人守卫12雪怪13女恶魔14亡灵15死亡骑士16驯兽师17全屏 **/
		readonly moveType?: number
		/** 展示的格子数 **/
		readonly moveName?: string
		/** 品质名称 **/
		readonly qualityName?: string
		/** 半身像资源名称 **/
		readonly icon?: string
		/** spine资源名称 **/
		readonly spine?: string
		/** 资源缩放系数 **/
		readonly scale?: number
		/** 受击动画 **/
		readonly hitEffect?: string
		/** 子弹资源 **/
		readonly bulletIcon?: string
		/** 蓄力起跳时间 **/
		readonly moveDelay?: number
		/** 跳起后移动的时间 **/
		readonly moveTime?: number
		/** 英雄攻击前摇 **/
		readonly atkDelay?: number
		/** 不填就是默认50 **/
		readonly hpHeight?: number
		/** 所需碎片id **/
		readonly pieceId?: number
		/** 解锁所需碎片数量 **/
		readonly pieceCount?: number
		/** 额外解锁条件 活动解锁到时再说 1七日签到活动 **/
		readonly extraUnlock?: string
		/** 是否开发完成 **/
		readonly isDevComplete?: number
	}

	// From GameConfig.xlsx => heroAttribute
	export interface IHeroAttributeConfig {
		/** 唯一标识 **/
		readonly id?: number
		/** 英雄类型 **/
		readonly heroId?: number
		/** 等级 **/
		readonly level?: number
		/** 升级所需金币 **/
		readonly goldCount?: number
		/** 升级所需碎片 **/
		readonly pieceCount?: number
		/** 每次射击的子弹个数 **/
		readonly bulletCount?: number
		/** 攻击造成伤害后，能够扣除对方攻击力值的生命值 **/
		readonly atkValue?: number
		/** 被攻击前，攻击力将先减除护甲值，然后再掉被护甲减后的攻击力的生命值，人物身上增加护甲值状态标记 **/
		readonly defValue?: number
		/** 人物的总生命值，生命值归零，人物死亡 **/
		readonly hpMaxValue?: number
		/** 人物攻击时，可以打到的最远的距离 **/
		readonly atkDistanceValue?: number
		/** 根据攻击距离的不同，造成的伤害也不同，最远处的敌人伤害衰减越严重，衰减系数按距离算，系数不填就是不衰减 **/
		readonly atkDistanceReduceValue?: number
		/** 根据攻击距离的不同，造成的伤害也不同，最远处的敌人伤害衰减越严重，衰减系数按距离算，系数不填就是不衰减 **/
		readonly atkDistanceReduceRate?: number
		/** 攻击者自身为圆心，攻击距离为半径，半径向两边延申的角度之和 **/
		readonly atkAngleValue?: number
		/** 人物暴击时造成攻击力 X 暴击伤害系数的伤害 **/
		readonly critHurtRate?: number
		/** 人物攻击时，暴击的概率（人物攻击时，优先计算是否暴击，然后再计算护甲） **/
		readonly critHitRate?: number
		/** 人物同一回合造成攻击后，额外产生的攻击次数 **/
		readonly atkMoreValue?: number
		/** 人物产生固定数值的固定，用来抵消下次受到的伤害 **/
		readonly shieldValue?: number
		/** 人物攻击后，对被攻击者造成击退效果（击退方向为人物产生攻击的方向，距离可配置，当被击退者背后为棋盘边缘时，将无法造成击退效果） **/
		readonly atkBackValue?: number
		/** 人物攻击范围目标后方有敌人时，人物攻击时产生的弹道会被遮挡，当拥有穿透效果时，产生的弹道将不会被遮挡，对后方敌人也造成一定攻击百分比的伤害 **/
		readonly atkThroughRate?: number
		/** 人物被攻击时，触发闪避的概率 **/
		readonly avoidRate?: number
		/** 命中率默认10000 **/
		readonly hitRate?: number
		/** 人物被攻击受到伤害后，立即对攻击者造成一次固定伤害值的伤害（也需要计算攻击者闪避，不计算暴击，不计算吸血），人物身上增加反伤值状态标记 **/
		readonly hurtBackValue?: number
		/** 当人物攻击造成伤害后，人物会恢复被攻击者该次攻击损失生命值一定百分比的血量 **/
		readonly atkBloodRate?: number
		/** 触发闪电链的概率 **/
		readonly chainLightningRate?: number
		/** 闪电链的范围，格子算 **/
		readonly chainLightningRangeValue?: number
		/** 闪电链加成值，在普通攻击的基础上 **/
		readonly chainLightningAddtionRate?: number
		/** 同时被连锁闪电的人数 **/
		readonly chainLightningCountValue?: number
		/** 再次触发闪电链的概率 **/
		readonly chainLightningAgainRate?: number
		/** 一击必杀概率 **/
		readonly oneHitKillRate?: number
	}

	// From GameConfig.xlsx => item
	export interface IItemConfig {
		/** 唯一标识 **/
		readonly id?: number
		/** 物品名称 **/
		readonly name?: string
		/** 使用的品质框 **/
		readonly quality?: number
		/**  **/
		readonly qualityLevel?: string
		/** 类型 1.货币 2.英雄碎片 3.卡牌碎片 **/
		readonly type?: number
		/** 描述 **/
		readonly desc?: string
		/** 初始数量 **/
		readonly initCount?: number
	}

	// From GameConfig.xlsx => materialShop
	export interface IMaterialShopConfig {
		/** 唯一标识 **/
		readonly id?: number
		/** 道具名称 **/
		readonly itemName?: string
		/** 道具id **/
		readonly itemId?: number
		/** 道具数量 **/
		readonly itemCount?: number
		/** 购买方式 **/
		readonly buyWay?: string
	}

	// From GameConfig.xlsx => mysticalShop
	export interface IMysticalShopConfig {
		/** 唯一标识 **/
		readonly id?: number
		/** 章节id **/
		readonly chapterId?: number
		/** 礼包道具1[道具id,数量] **/
		readonly giftPacks_item1?: string
		/** 礼包道具2[道具id,数量] **/
		readonly giftPacks_item2?: string
		/** 礼包道具3[道具id,数量] **/
		readonly giftPacks_item3?: string
		/** 购买方式(货币类别，数量) **/
		readonly buyWay?: string
		/** 是否可以广告免费领取(广告次数) **/
		readonly adBuy?: number
	}

	// From GameConfig.xlsx => playerLevelUpgrade
	export interface IPlayerLevelUpgradeConfig {
		/** 唯一标识 **/
		readonly id?: number
		/** 所需经验 **/
		readonly exp?: number
	}

	// From GameConfig.xlsx => reward
	export interface IRewardConfig {
		/** 唯一标识 **/
		readonly id?: number
		/** 奖励备注 **/
		readonly name?: string
		/** 奖品id **/
		readonly reward_id_1?: number
		/** 奖品数量 **/
		readonly reward_count_1?: number
		/** 奖品id **/
		readonly reward_id_2?: number
		/** 奖品数量 **/
		readonly reward_count_2?: number
		/** 奖励id **/
		readonly reward_id_3?: number
		/** 奖励数量 **/
		readonly reward_count_3?: number
	}

	// From GameConfig.xlsx => sign
	export interface ISignConfig {
		/** 编号 **/
		readonly id?: number
		/** 第几周 **/
		readonly week?: number
		/** 天 **/
		readonly day?: number
		/** 奖励名称 **/
		readonly reward_name?: string
		/** 1.钻石奖励 2.SSR卡 3.N卡 4.R卡 5.驯兽师 **/
		readonly reward_id?: number
		/** 奖励数量 **/
		readonly reward_count?: number
	}

	// From GameConfig.xlsx => skill
	export interface ISkillConfig {
		/** 唯一标识 **/
		readonly id?: number
		/** 所属英雄id **/
		readonly heroId?: number
		/** 技能名称 **/
		readonly name?: string
		/** 类型1，技能 2，特质 **/
		readonly type?: number
		/** 描述 **/
		readonly desc?: string
		/** 解锁等级 **/
		readonly unlockLevel?: number
		/** 不连续触发，针对有多次攻击buff的处理 **/
		readonly noContine?: number
		/** 获得该卡片后如何触发buff 1.立即触发 2.造成伤害后触发 3.攻击前触发 4.obj死亡触发 5.暴击后触发 6.闪电链触发 7.反伤后触发 8.召唤后触发 9.移动后触发 10.buff伤害后触发 **/
		readonly trigger_1?: number
		/** 触发的buffId **/
		readonly buff_1?: number
		/** 触发的概率， 不填必触发， 万分比 **/
		readonly triggerRate_1?: number
		/** 触发添加给谁 1.自身 2.敌人 **/
		readonly target_1?: number
		/** 与trigger_1一致 **/
		readonly trigger_2?: number
		/** 触发的buffId **/
		readonly buff_2?: number
		/** 触发的概率， 不填必触发， 万分比 **/
		readonly triggerRate_2?: number
		/** 触发添加给谁 1.自身 2.敌人 **/
		readonly target_2?: number
	}

	// From GameConfig.xlsx => systemOpen
	export interface ISystemOpenConfig {
		/** 唯一标识 **/
		readonly id?: number
		/** 玩家解锁等级 **/
		readonly level?: number
		/** 功能名称 **/
		readonly name?: string
	}

	// From GameConfig.xlsx => systemPreview
	export interface ISystemPreviewConfig {
		/** 唯一标识 **/
		readonly id?: number
		/** 预览等级 **/
		readonly level?: number
		/** 解锁功能列表 **/
		readonly name?: string
		/** 章节限制相关表的索引 **/
		readonly chapter?: string
	}

	// From GameConfig.xlsx => talentUpgrade
	export interface ITalentUpgradeConfig {
		/** 唯一标识 **/
		readonly id?: number
		/** 角色等级 **/
		readonly level?: number
		/** 天赋图片 **/
		readonly talentIcon?: string
		/** 天赋名称 **/
		readonly talentName?: string
		/** 天赋描述 **/
		readonly talentDes?: string
		/** 增加属性描述 **/
		readonly talentAttributeDes?: string
		/** 天赋类别(1 普通天赋 2 传奇天赋) **/
		readonly talentType?: number
		/** 天赋属性(atkValue攻击) **/
		readonly talentAttribute?: string
		/** 增加的天赋属性值 **/
		readonly talentAttributeNum?: number
		/** 原值基础上增加的天赋属性值 万分比 **/
		readonly talentAttributeRate?: number
		/** 购买方式 **/
		readonly talentPrice?: string
		/** 当前传奇天赋解锁前需要解锁的普通天赋数量 **/
		readonly talentLegendaryPreCount?: number
		/** 章节生效次数 **/
		readonly effectCount?: number
	}

	// From GameConfig.xlsx => tempBuff
	export interface ITempBuffConfig {
		/** 唯一标识 **/
		readonly id?: number
		/** 道具名称 **/
		readonly name?: string
		/** 展示icon **/
		readonly icon?: string
		/** 描述 **/
		readonly desc?: string
		/** 商店血币消耗 **/
		readonly shopCost?: number
		/** 商店出现概率 **/
		readonly shopWeight?: number
		/** 效果，与章节剧情事件触发效果一致 **/
		readonly effect?: string
	}

	// From GameConfig.xlsx => value
	export interface IValueConfig {
		/** 标识 **/
		readonly id?: string
		/** 数值 **/
		readonly value?: string
		/** 描述，填写后方便其他人查看 **/
		readonly decribe?: string
	}

	// From GameConfig.xlsx => value
	export enum IValueEnum {
		/** 恢复一点体力需要多少时间，单位秒 **/
		recover_energy_time = "recover_energy_time",
		/** 广告增加血币最大次数 **/
		add_xuebi_max_count = "add_xuebi_max_count",
		/** 每次增加血币值 **/
		add_xuebi_value = "add_xuebi_value",
		/** 刷新消耗血币的数量 **/
		add_xuebi_cost = "add_xuebi_cost",
		/** 章节免费换一批最大次数 **/
		card_change_max_count = "card_change_max_count",
		/** 章节全都要最大次数 **/
		card_take_all_max_count = "card_take_all_max_count",
		/** 随机道具的最大次数 **/
		random_item_max_count = "random_item_max_count",
		/** 复活所需要的钻石 **/
		retry_cost_diamond_count = "retry_cost_diamond_count",
		/** 体力最大数量限制 **/
		max_energy_countlimit = "max_energy_countlimit",
		/** 每日使用钻石购买体力限制次数 **/
		diamond_energy_changelimit = "diamond_energy_changelimit",
		/** 每日观看广告获取体力限制次数 **/
		watch_ads_count = "watch_ads_count",
		/** 每日免费领取广告体力限制次数 **/
		free_watch_ads_count = "free_watch_ads_count",
		/** 每次使用钻石购买体力所消耗的钻石数量 **/
		diamond_energy_costcount = "diamond_energy_costcount",
		/** 每次使用钻石购买体力所能买到的体力数量 **/
		diamond_energy_getcount = "diamond_energy_getcount",
		/** 观看一次视频所获得的体力 **/
		watch_ads_energycount = "watch_ads_energycount",
		/** 每日商店可用广告刷新道具的次数 **/
		dailyShop_ads_updateLimit = "dailyShop_ads_updateLimit",
		/** 每日商店可用金币刷新道具的次数 **/
		dailyShop_gold_updateLimit = "dailyShop_gold_updateLimit",
		/** 每日商店每次使用金币刷新道具的消耗 **/
		dailyShop_gold_updateCount = "dailyShop_gold_updateCount",
		/** 每日商店可直接领取免费道具次数 **/
		dailyShop_direct_freeItemLimit = "dailyShop_direct_freeItemLimit",
		/** 每日商店可直接获取道具的数量 **/
		dailyShop_direct_freeItemCount = "dailyShop_direct_freeItemCount",
		/** 每日商店看广告领取免费道具次数 **/
		dailyShop_ads_freeItemLimit = "dailyShop_ads_freeItemLimit",
		/** 金币商店可直接领取免费道具次数 **/
		goldShop_direct_freeItemLimit = "goldShop_direct_freeItemLimit",
		/** 金币商店可直接获取道具的数量 **/
		goldShop_direct_freeItemCount = "goldShop_direct_freeItemCount",
		/** 金币商店可用金币刷新道具的次数 **/
		goldShop_ads_freeItemLimit = "goldShop_ads_freeItemLimit",
		/** 每次招募获得10点招募经验 **/
		zhaomu_exp = "zhaomu_exp",
		/** 累计30次必出卡牌SSR或英雄 **/
		zhaomu_bichu_count = "zhaomu_bichu_count",
		/** 每日免费招募次数 **/
		zhaomu_free_count = "zhaomu_free_count",
		/** 钻石100 **/
		zhaomu_1_cost = "zhaomu_1_cost",
		/** 钻石950 **/
		zhaomu_10_cost = "zhaomu_10_cost",
		/** 侧边栏奖励 50钻石 1200金币 **/
		sidebar_reward = "sidebar_reward",
		/** 添加桌面 200钻石 **/
		desktop_reward = "desktop_reward",
		/** 战斗商店血币购买数量 **/
		battle_shop_blood_coint_count = "battle_shop_blood_coint_count",
		/** 新手引导卡组(第一章) **/
		Card_group_1 = "Card_group_1",
		/** 背包添加血币最大次数 **/
		bag_add_blood_max_count = "bag_add_blood_max_count",
		/** 背包每次添加血币数量 **/
		bag_add_blood_count = "bag_add_blood_count",
		/** 背包广告格子最大次数 **/
		bag_reward_grid_max_count = "bag_reward_grid_max_count",
		/** 单次背包换一批最大次数 **/
		bag_change_item_max_count = "bag_change_item_max_count",
		/** 背包刷新消耗血币的数量 **/
		bag_change_xuebi_cost = "bag_change_xuebi_cost",
		/** 礼包码  钻石500 **/
		activeCode_DLZX888 = "activeCode_DLZX888",
		/** 礼包码  钻石500 **/
		activeCode_DLZX999 = "activeCode_DLZX999",
		/** 礼包码  钻石500 **/
		activeCode_DLZX666 = "activeCode_DLZX666",
		/** 礼包码  金币8888 **/
		activeCode_DLZX2025 = "activeCode_DLZX2025",
		/** 礼包码  金币8888 **/
		activeCode_DLZX777 = "activeCode_DLZX777",
	}

	// From GameConfig.xlsx => zhaomu
	export interface IZhaomuConfig {
		/** 唯一标识 **/
		readonly id?: number
		/** 所需经验 **/
		readonly exp?: number
		/** 概率万分比 **/
		readonly SSR?: number
		/** 概率万分比 **/
		readonly SR?: number
		/** 概率万分比 **/
		readonly R?: number
	}

	export enum MusicName {
		"audio/music/bgm_酒馆商店" = "audio/music/bgm_酒馆商店",
		"audio/music/chapter_bgm" = "audio/music/chapter_bgm",
		"audio/music/bgm_boss" = "audio/music/bgm_boss",
		"audio/music/bgm" = "audio/music/bgm",
		"audio/music/battle_bgm" = "audio/music/battle_bgm",
	}
	export enum EffectName {
		"audio/effect/xiaohuolong_move" = "audio/effect/xiaohuolong_move",
		"audio/effect/kulouguai_hurt" = "audio/effect/kulouguai_hurt",
		"audio/effect/shitouren_hurt" = "audio/effect/shitouren_hurt",
		"audio/effect/hudunhujia" = "audio/effect/hudunhujia",
		"audio/effect/leimingbo" = "audio/effect/leimingbo",
		"audio/effect/lieren_hurt" = "audio/effect/lieren_hurt",
		"audio/effect/wangling_move" = "audio/effect/wangling_move",
		"audio/effect/wangling_hurt" = "audio/effect/wangling_hurt",
		"audio/effect/shitouren_move" = "audio/effect/shitouren_move",
		"audio/effect/cost_money" = "audio/effect/cost_money",
		"audio/effect/shilaimu_atk" = "audio/effect/shilaimu_atk",
		"audio/effect/shilaimu_die" = "audio/effect/shilaimu_die",
		"audio/effect/choice_enter_room" = "audio/effect/choice_enter_room",
		"audio/effect/xiaohuolong_hurt" = "audio/effect/xiaohuolong_hurt",
		"audio/effect/xunshoushi_hurt" = "audio/effect/xunshoushi_hurt",
		"audio/effect/kulouguai_move" = "audio/effect/kulouguai_move",
		"audio/effect/xueguai_skill" = "audio/effect/xueguai_skill",
		"audio/effect/gou2_hurt" = "audio/effect/gou2_hurt",
		"audio/effect/shurenshouwei_hurt" = "audio/effect/shurenshouwei_hurt",
		"audio/effect/gou2_move" = "audio/effect/gou2_move",
		"audio/effect/lieren_die" = "audio/effect/lieren_die",
		"audio/effect/lieren_atk" = "audio/effect/lieren_atk",
		"audio/effect/gou_atk" = "audio/effect/gou_atk",
		"audio/effect/gou_die" = "audio/effect/gou_die",
		"audio/effect/shurenshouwei_move" = "audio/effect/shurenshouwei_move",
		"audio/effect/shilaimu_skill" = "audio/effect/shilaimu_skill",
		"audio/effect/wangling_skill" = "audio/effect/wangling_skill",
		"audio/effect/shitouren_atk" = "audio/effect/shitouren_atk",
		"audio/effect/shitouren_die" = "audio/effect/shitouren_die",
		"audio/effect/popup_reward" = "audio/effect/popup_reward",
		"audio/effect/btn_click" = "audio/effect/btn_click",
		"audio/effect/suduandingduyao" = "audio/effect/suduandingduyao",
		"audio/effect/campbuild_up" = "audio/effect/campbuild_up",
		"audio/effect/nvemo_die" = "audio/effect/nvemo_die",
		"audio/effect/hero_upgrade" = "audio/effect/hero_upgrade",
		"audio/effect/nvemo_atk" = "audio/effect/nvemo_atk",
		"audio/effect/qishi_die" = "audio/effect/qishi_die",
		"audio/effect/qishi_atk" = "audio/effect/qishi_atk",
		"audio/effect/nvemo_move" = "audio/effect/nvemo_move",
		"audio/effect/xueguai_hurt" = "audio/effect/xueguai_hurt",
		"audio/effect/player_upgrade" = "audio/effect/player_upgrade",
		"audio/effect/drawcard" = "audio/effect/drawcard",
		"audio/effect/jump_done" = "audio/effect/jump_done",
		"audio/effect/gou_skill" = "audio/effect/gou_skill",
		"audio/effect/luolei" = "audio/effect/luolei",
		"audio/effect/xueguai_move" = "audio/effect/xueguai_move",
		"audio/effect/unlock_talent" = "audio/effect/unlock_talent",
		"audio/effect/nvemo_hurt" = "audio/effect/nvemo_hurt",
		"audio/effect/xiaohuolong_die" = "audio/effect/xiaohuolong_die",
		"audio/effect/xiaohuolong_atk" = "audio/effect/xiaohuolong_atk",
		"audio/effect/shurenshouwei_die" = "audio/effect/shurenshouwei_die",
		"audio/effect/shurenshouwei_atk" = "audio/effect/shurenshouwei_atk",
		"audio/effect/turntable" = "audio/effect/turntable",
		"audio/effect/xiangzi_hurt" = "audio/effect/xiangzi_hurt",
		"audio/effect/upgrade_battle" = "audio/effect/upgrade_battle",
		"audio/effect/xueguai_die" = "audio/effect/xueguai_die",
		"audio/effect/xueguai_atk" = "audio/effect/xueguai_atk",
		"audio/effect/chain_lighting" = "audio/effect/chain_lighting",
		"audio/effect/win_battle" = "audio/effect/win_battle",
		"audio/effect/normal_battle_began" = "audio/effect/normal_battle_began",
		"audio/effect/xunshoushi_die" = "audio/effect/xunshoushi_die",
		"audio/effect/xunshoushi_atk" = "audio/effect/xunshoushi_atk",
		"audio/effect/kulouguai_die" = "audio/effect/kulouguai_die",
		"audio/effect/kulouguai_atk" = "audio/effect/kulouguai_atk",
		"audio/effect/shitouren_skill" = "audio/effect/shitouren_skill",
		"audio/effect/shilaimu_hurt" = "audio/effect/shilaimu_hurt",
		"audio/effect/wangling_skill_effect" = "audio/effect/wangling_skill_effect",
		"audio/effect/ui_fail" = "audio/effect/ui_fail",
		"audio/effect/qishi_hurt" = "audio/effect/qishi_hurt",
		"audio/effect/gou_move" = "audio/effect/gou_move",
		"audio/effect/boss_battle_began" = "audio/effect/boss_battle_began",
		"audio/effect/xiangzi_die" = "audio/effect/xiangzi_die",
		"audio/effect/gou_hurt" = "audio/effect/gou_hurt",
		"audio/effect/zhaohuan" = "audio/effect/zhaohuan",
		"audio/effect/shilaimu_move" = "audio/effect/shilaimu_move",
		"audio/effect/wangling_die" = "audio/effect/wangling_die",
		"audio/effect/wangling_atk" = "audio/effect/wangling_atk",
		"audio/effect/upgrade_card_hero" = "audio/effect/upgrade_card_hero",
		"audio/effect/xiaohuolong_skill" = "audio/effect/xiaohuolong_skill",
		"audio/effect/recover_hp" = "audio/effect/recover_hp",
		"audio/effect/get_card" = "audio/effect/get_card",
		"audio/effect/shilaimu_skill_2" = "audio/effect/shilaimu_skill_2",
		"audio/effect/gou2_die" = "audio/effect/gou2_die",
		"audio/effect/gou2_atk" = "audio/effect/gou2_atk",
		"audio/effect/zhaomu" = "audio/effect/zhaomu",
		"audio/effect/revive" = "audio/effect/revive",
		"audio/effect/nvemo_skill" = "audio/effect/nvemo_skill",
		"audio/effect/ui_victory" = "audio/effect/ui_victory",
	}
}